Method and apparatus for content presentation in association with a telephone call

ABSTRACT

A method and apparatus are provided for presenting multimedia content to a caller and/or a called party in association with a telephone call. Content may be presented pre-ring (before the called party&#39;s telephone rings), in-call and/or post-call. Content presented to a party may be related to another party participating in the call or may be related to a third party (e.g., an advertiser that paid for the ability to have its content presented). Presented content may be actuable, and allow a caller to change the destination of a call, take advantage of an offer presented to him, redeem a coupon, schedule or queue a subsequent call, etc. To find a desired destination party, a caller may initiate a manual or automatic search of his local contacts (on his telephone) and/or a central or global directory or contact list.

RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.12/563,112, filed Sep. 18, 2009, which issued Nov. 5, 2013 as U.S. Pat.No. 8,577,000 (the '112 application). The '112 application claimspriority to U.S. Provisional Application No. 61/167,105, filed Apr. 6,2009, which is hereby incorporated by reference.

BACKGROUND

This invention relates to the fields of telecommunications and computersystems. More particularly, a method and apparatus are provided forpresenting multimedia content to a caller and/or a called party before,during and/or after a telephone call between the parties.

Calls from or to a mobile telephone are typically accompanied by minimaldisplay content. For example, when placing a call, the caller may simplysee a dialer screen used to enter a telephone number, or to select anumber or contact to be dialed. When receiving a call, a called partymay see the caller's telephone number (or some other display if thenumber is blocked or unknown) or a name of the caller (if the caller'stelephone number is stored in the called party's contacts), but littleelse.

Although this information display may be sufficient for the basicpurpose of identifying who is being called or who has originated a call,it fails to deliver the type of multimedia experience many people havecome to expect in the electronic age. Just as computer systems haveevolved from textual operating systems (e.g., DOS or Disk OperatingSystem) to complex graphical operating systems (e.g., Mac OS®, MicrosoftWindows®), the display capabilities of mobile telephones have evolved ina similar manner.

Although mobile telephone applications that operate independently oftelephone calls have been developed to take advantage of the telephones'richer display capabilities, such as offline games, photography and GPS(Global Positioning System) navigation, applications that make andreceive calls or that operate during a call have not. Therefore, thereis a need for methods and apparatus for enriching the experience of aperson making or receiving a call.

SUMMARY

In some embodiments of the invention, a method and apparatus areprovided for presenting multimedia content to a caller and/or a calledparty in association with a telephone call. In these embodiments,content may be presented pre-ring (before the called party's telephonerings), in-call (during the call) and/or post-call (after one or bothparties have hung up).

Content presented to a party may be related to another partyparticipating in the call or may be related to a third party (e.g., anadvertiser that paid to have its content presented). Thus, rights topresent content to parties engaging in a call may be auctioned tovarious advertisers and other organizations, and a party to a call mayreceive content that is or is not associated with any purpose or partyto the call.

In some embodiments, presented content may be actuable (i.e., includeone or more actuable controls), to allow a caller to change thedestination or routing of a call, take advantage of an offer presentedto him in the content, redeem a coupon, schedule or queue a subsequentcall, etc.

In some embodiments of the invention, a person's ability to search for adesired destination party's contact information (e.g., telephone number)or to initiate a call to the party without knowing its number is greatlyenhanced. In these embodiments, the person may initiate a search of anynumber of contact lists and/or telephone directories, including listsmaintained on his device and/or off his device—such as at a central callserver or a third party repository.

Such a search may be conducted via keyword, so that as the person enterscharacters describing the target destination (e.g., by name, bycategory), the search is automatically updated and narrowed as thecharacters are entered. Results of a search may be filtered orprioritized based on the person's profile (e.g., with contacts known tothat person having relatively high priority) and/or by a general profile(e.g., based on which numbers/contacts have been used most often byother people that conducted similar searches).

DESCRIPTION OF THE FIGURES

FIG. 1 is a block diagram of a communication environment in which someembodiments of the present invention may be implemented.

FIG. 2 is a block diagram demonstrating establishment of a telephonecall and associated presentation of content, according to someembodiments of the invention.

FIGS. 3-8 demonstrate content that may be presented on a communicationdevice of a caller and/or a called party before, during and/or after atelephone call, according to some embodiments of the invention.

FIG. 9 is a flow diagram demonstrating the presentation of multimediacontent to a caller and/or a called party in association with atelephone call, according to some embodiments of the present invention.

FIG. 10 is a flow diagram demonstrating the presentation of multimediacontent to a caller in association with a telephone call, according tosome embodiments of the present invention.

FIG. 11 is a block diagram of hardware apparatus for facilitatingpresentation of multimedia content in association with a telephone call,according to some embodiments of the invention.

FIG. 12 is a block diagram of a call server for facilitatingpresentation of multimedia content in association with a telephone call,according to some embodiments of the invention.

DETAILED DESCRIPTION

The following description is presented to enable any person skilled inthe art to make and use the invention, and is provided in the context ofa particular application and its requirements. Various modifications tothe disclosed embodiments will be readily apparent to those skilled inthe art, and the general principles defined herein may be applied toother embodiments and applications without departing from the scope ofthe present invention. Thus, the present invention is not intended to belimited to the embodiments shown, but is to be accorded the widest scopeconsistent with the principles and features disclosed herein.

In some embodiments of the invention, a method and apparatus areprovided for presenting multimedia content before, during and/or after atelephone call. The content is displayed on a communication device thatinitiates or receives the call, if the telephone's display is capable ofdisplaying rich content; otherwise, it may be displayed on an associatedcomputing device. In these embodiments, the displayed content may beselected based on an identity or a characteristic of the caller or thecalled party, may be relevant to a purpose or nature of the call, or maybe selected by an entity that paid to have the selected contentpresented.

For example, for a telephone call between friends or acquaintances, acaller or called party may be presented with content drawn from anelectronic presence of the other party (e.g., MySpace™, Facebook, hi5,Flickr®) or from private storage (e.g., the friend's computing device).Or, he may be shown recent electronic mail, other communication(s)involving the friend (e.g., his or her latest tweet on Twitter®), orother multimedia content the friend is willing to share. In someembodiments, people may assemble content for the specific purpose ofbeing presented to another party in association with a telephone call.

For a telephone call with an organization (e.g., a merchant, abusiness), an advertisement or special offer from that entity (or froman associate or a competitor of that entity) may be presented (e.g., avideo ad, a yellow page ad), or a menu or list of services, directionsor location information, information regarding a current or recenttransaction, etc.

Multimedia content presented before, during and/or after a telephonecall may be accompanied by one or more controls for taking action, suchas seeing more content, navigating to a particular web page or web site,downloading content, ordering a good or service, adding another party tothe call, re-routing or aborting the call in favor of a differentdestination, or initiating other action enabled by the content.

Determination of what content to present to a party is made by a callcontroller. In embodiments of the invention described herein, acontroller for a particular telephone call may be the caller, the calledparty, a call center configured to process content in association with atelephone call, or some other third party. The decision of what topresent may be made in real-time, or may be pre-determined.

For example, a commercial message (e.g., an advertisement) may bepre-selected for presentation to some number of callers to a particulartelephone number. Merchants or other organizations may pay for theopportunity to have their selected content presented to a caller orcalled party, even if the paying organization is not a party to thecall.

FIG. 1 is a diagram of a communication environment in which multimediacontent may be presented in association with a telephone call, accordingto some embodiments of the invention. In FIG. 1, caller telephone 110 isused to place a call to a called party at called party telephone 150.Call server 130 acts as a call controller to manage the presentation ofmultimedia content on the caller's telephone and/or the called party'stelephone in association with the call.

In FIG. 1, each telephone is capable of supporting parallel data andvoice channels. A voice channel between caller telephone 110 and calledparty telephone 150 may be established through the PSTN (Public SwitchedTelephone Network), one or more telephone carrier's networks, otherpublic/private networks such as the Internet (e.g., for VoIP calls),etc.

Data channels to/from a party's telephone may be established using EvDO(Evolution Data Optimized or Evolution Data Only), UMTS (UniversalMobile Telecommunications System), HSDPA (High-Speed Downlink PacketAccess or High-Speed Downlink Protocol Access), LTE (Long TermEvolution) and/or other communication protocols and links capable ofcarrying digital data. The data channels are routed via call server 130,and are used to convey content to the telephones and to convey otherdata to the call server as necessary (e.g., to upload data from atelephone, activate a control within presented content).

Caller telephone 110 hosts any number of applications, applets, plug-insor other collections of executable program code. Illustrative code thatmay be installed on the caller telephone includes browser 112 forpresenting and navigating multimedia content, call processor 114 (e.g.,a dialer application) for processing an outgoing or incoming call, andoptional block/allow list 116.

Call processor 114 comprises logic for detecting and/or controllingtelephone events (e.g., dialing of a number, outgoing call ringing,incoming call ringing, outgoing or incoming call connected) and forusing the data channel to receive content to be presented and to submitdata to the call server. Call processor 114 may comprise logic thathooks into a telephone dialer application and can control how a call ishandled. Or, the call processor may comprise logic that replaces orsupersedes a telephone's native dialer application.

In some embodiments of the invention, call processor 114 may delaysignaling of a voice call from caller telephone 110 to the caller'stelephone service provider, in order to delay establishment of the voicechannel. The call processor may do this automatically or based oninstructions from the call server. Similarly, ringing at a calledparty's telephone may be delayed.

For example, calls placed to certain numbers or to certain types ofparties (e.g., merchants, other organizations) may be delayed whilecontent is selected and transmitted to the caller's telephone. A timermay be displayed on the telephone and/or the caller may be able toterminate the delay and make the call proceed immediately. Thus, a delaymay be fixed or may be aborted by the affected party.

A call processor may also comprise logic for performing keyword-basedlookups, or may be configured to invoke similar logic that executesseparate from the call processor. For example, when a caller enters part(or all) of the name of a person or organization that she wishes to call(or a partial telephone number), the keyword logic will search thecalled party's telephone for matching contacts.

The call processor, or other logic, may also contact a central location(e.g., call server 130) to initiate a keyword-based search on a largertelephone directory. Thus, a search for a destination party may beautomatically conducted on the caller's telephone and/or off the deviceat a central location (e.g., call server 130) or a third partydirectory. As the caller enters additional characters, the searchresults are narrowed accordingly, and may be prioritized based on thecaller's previous interaction with some of the contacts, based on whichdestination parties other callers selected in similar searches, based onthe caller's present location, based on fees paid by merchants forpriority listing, etc.

Other software may be installed on a party's communication device toalter or enhance the presentation of media. For example, a set of APIs(Application Programming Interfaces) may be provided to allow injectionof particular types of content. The APIs may be used to facilitatepresentation of content in association with a telephone call and/orwithout any association with a telephone call. However, in someembodiments of the invention, a person's communication device need notbe modified in any way in order to receive and display content before,during and/or after a call.

In the illustrated embodiments of the invention, caller telephone 110(and/or call server 130) automatically blocks or rejects calls attemptedbetween telephone 110 and telephone numbers (and/or people andorganizations) identified in a block list. Additionally, oralternatively, an allow list may be maintained to specifically identifytelephone numbers with which caller telephone 110 may be connected(e.g., all entries in a contact list or telephone directory maintainedon a party's telephone). In yet other embodiments, a single combinedblock/allow list may be maintained to identify target telephone numbersand indicate whether calls with those numbers are blocked or allowed.

Block/allow lists may be maintained on a user's telephone and/or at acall controller or call server. A block/allow list maintained ontelephone 110 (i.e., block/allow list 116) may be considered a “local”list, while a list maintained on a call controller (e.g., block/allowlist 132) may be considered a “central” or “global” list.

In some embodiments of the invention, a block/allow list (or otherfilter) may be used to screen calls to/from malicious telephone numbersor entities. For example, calls received from telephone numbers known tobe associated with telemarketers, spammers (e.g., entities that spam viaSMS or Short Messaging Service), pranksters and/or other undesirablesmay be blocked automatically (or after querying the called party toidentify the call as possibly or certainly being from an undesiredparty).

Illustratively, a global list may be maintained to identifytelemarketers and spammers, especially those that call nationally orregionally. A local list may be maintained to block calls frompranksters, people who have made harassing calls and/or other partiesfrom whom calls are not desired.

A called party may identify a caller as malicious (or, alternatively,not malicious) during or after a telephone call from that caller, byactivating a control on her telephone. For example, during or after acall from a previously unknown caller, content may be presented to thecalled party to ask her if the caller is a telemarketer or harasser (orshould otherwise be blocked), or if the caller should be added to hercontact list. Choosing to add a previously unknown party or number toher contact list may cause the call server to interrogate the caller'stelephone or other data source to retrieve a contact card, if one hasbeen prepared for sharing.

In some embodiments of the invention, caller telephone 110 may includeadditional components or executable code for performing other functions,without exceeding the scope of the present invention. For example, atelephone may also include one or more storage components for storing,among other things, contacts, user preferences, multimedia content to bepresented on the telephone or to be transmitted to another party forpresentation on their device, etc.

Locally stored content may be quickly presented to a user without havingto wait for receipt of the content from call controller 130. Such storedcontent may be selected for storage and/or presentation randomly, basedon an identity of the a party or parties within a contact list stored onthe telephone, according to an agreement with a third party (e.g., anadvertiser) and the call server or call controller, etc.

Called party telephone 150 may be configured similarly to callertelephone 110 (e.g., with a browser, a call processor, a block/allowlist). In some embodiments, when a call is being initiated from callertelephone 110 to called party telephone 150, call server 130 may querythe called party's telephone to determine if it possesses any contentthat the called party would like to have presented to the caller. Suchcontent may then be transferred before, during and/or after the call.Similarly, content from caller telephone 110 may be copied to calledparty telephone 150.

When a user's telephone is unable to display content chosen forpresentation to that user in association with a telephone call, thecontent may instead be presented via a different device.

For example, and as shown in FIG. 1, a called party (or a caller) mayoperate an associated computing device (e.g., a desktop computer, alaptop computer, a personal digital assistant, a netbook computer). Thecomputing device may be registered with a call controller (e.g., callserver 130) before or during a call (e.g., by IP address or othernetwork address).

When the call controller determines that it cannot present multimediacontent on called party telephone 150, it will instead transmit it tothe associated computing device. The call controller may determine thatit cannot send content to telephone 150 based on the type of telephoneor the telephone number (e.g., a landline), because the telephoneconnection lacks a data channel, because the device is registered in thecalled party's user profile, etc.

A party's associated computing device may be coupled to call server 130by a network connection that traverses one or more public or privatedata networks (e.g., the Internet, an intranet). To register a computingdevice, a party may operate the computing device to navigate a browserto a registration site or page. There, the party may identify one ormore telephone numbers and associate them with the computing device sothat when a call is placed to or from one of the telephone numbers,content will be delivered to the computing device instead of thetelephone.

Call server 130 comprises central or global block/allow list 132 forscreening a call to determine whether it should be placed and/or whethermultimedia content should be presented in association with the call. Thecall server also includes media selection logic 134 for selectingcontent to be displayed on a caller's or called party's communication orcomputing device. Call processor 136 is configured to receive orestablish data (and/or voice) channels with caller telephone 110 and/orcalled party telephone 150 via virtually any data protocol and media.

Database(s) 140 are configured to store data regarding subscribers andtheir communication/computing devices, content that may be presented onsuch devices, information regarding advertisers and/or other thirdparties that may provide content, factors for determining or selectingcontent to be presented for a particular call, etc. Call server 130 mayalso expose various APIs (Application Programming Interfaces) to allowthird parties to provide media for presentation in association with atelephone call, and/or other logic for retrieving such content from athird party.

A call server or call controller according to other embodiments of theinvention may be configured to perform a subset or a superset of theoperations described herein, and therefore may include fewer oradditional components. Call server 130 is an example of a third partycall controller—that is, a controller that is not operated by the calleror the called party. Illustratively, call server 130 may be operated bya telephone service provider, a data management service, a directoryservice or other entity with which the caller and/or called party (ortheir service providers) have established agreements.

In other embodiments of the invention, a call controller may be operatedby a caller or called party, particularly when that party represents anorganization. Thus, a call to or from a commercial enterprise may becontrolled by an agent of that enterprise (e.g., a telephone agent oroperator, a sales agent). That agent can select content for presentationon the other party's communication device based on a purpose of thecall, a previous or current transaction between the parties, an offerbeing made to the other party, etc. Or, such content may be selectedautomatically, based on whether the organization has a pre-existingrelationship with the caller (e.g., whether the caller's telephonenumber is known), which of multiple telephone numbers of theorganization the caller called, etc.

In some embodiments of the invention, a call controller or call servermay auction or directly sell a right to have content presented tocallers and/or called parties. For example, a call server may auctionthe right to present content to callers that dial a particularorganization (e.g., a commercial company) or that are called by theorganization. The winner may be the same organization, a competitor oran unrelated party.

Or, a call server may auction content presentation rights based onidentities or demographics of private callers and calling parties. Thus,content presented to a caller may be selected based on his currentlocation, as reported by a GPS (Global Positioning System) element ofhis telephone, his area code, his city, his type of communicationdevice, his telephone service provider, and so on. For example, acontent provider may be a vendor of goods or services and may havepurchased the ability to have content presented to callers who placecalls while they are within some predetermined distance of the contentprovider.

Content presented on a communication device may fill the area of thetarget party's telephone display screen, or only a portion thereof. Forexample, when a call is placed to a commercial organization, contentfrom a single source may cover the caller's entire telephone display.But, when a call is placed to one private party from another privateparty, some or all of the display area may be used to present contentassociated with one or both parties (e.g., from Facebook, MySpace,Slide, Flickr), and only a small area may be filled with content (e.g.,an advertisement) from a third party. Thus, content displayed on aparty's telephone may comprise multiple content components from the sameor different sources or providers.

When content is presented to a caller pre-ring (before a destinationparty's telephone rings), the caller may activate a control embedded inthe content to take some action offered by the content. For example, ifhe activates a control to re-route the call to a different destination(e.g., based on an offer or advertisement in the presented content), thecall controller or the call processor logic on the caller's telephonewill cancel the attempted call and initiate a call to the newdestination. Or, a caller may be presented with content that offers toroute the voice channel differently (e.g., via a different carrier for acheaper rate).

In some embodiments of the invention, a call server and a separate callcontroller may cooperate to control the presentation of content to acaller and/or a called party. For example, and as shown in FIG. 1, datachannels may be established between the parties and a call server, andthe call server may be responsible for actually transmitting content tothe parties and receiving any data they submit.

The separate call controller, however, may be a third-party contentprovider (or other third party) and may determine (and/or dynamicallyprovide) content to be provided to a particular party. Thus, a callserver may participate in many calls, and connect to different callcontrollers for different calls (or at different times during one call)to receive content to be presented to a party. Even when a call serverand a call controller are co-located, content to be served to callersand/or called parties may be retrieved from other parties.

As one alternative, a call may be initially handled by a call server,perhaps to facilitate presentation of appropriate pre-ring content to acaller or called party. However, at some point (e.g., when the calledparty's telephone rings), control of content presentation may be passedto a call controller associated with or employed by the called party. Asyet another alternative, control of content presentation may be passedimmediately to an organizational call controller when a call destinedfor that organization is identified.

FIG. 2 is a diagram illustrating presentation of content to a callerand/or a called party in association with a telephone call, according tosome embodiments of the invention.

At step A, the caller enters or selects a telephone number or contactlisting for called party 250, in order to initiate a voice call to thatparty. Alternatively, she may enter part of the target party's name ornumber and select the party from results produced by her communicationdevice and/or a source external to her device. At step B, the telephonenumbers and/or other identifiers of the caller and called party (e.g.,IP addresses if either party is using VoIP equipment) are transmitted tocall controller/call server 230 via a data channel of the caller'stelephone.

Control of the call may be passed to a particular call controller, basedon an identity of the caller or the called party. Specifically, callsfrom a certain number (or set of numbers, such as those of a singleorganization) or to a certain number (or set of numbers) may becontrolled by predetermined call controllers. Or, call controller 230may be a general call server configured to handle presentation of callsinvolving private parties and/or multiple organizations.

In step C, call controller 230 identifies a source of content to bepresented to caller 210 and/or called party 250, or may identifyspecific content (i.e., not just a content source). In step D, the callcontroller solicits content from a selected source, which may be a webserver, a data server, an advertisement server or other repository ofadvertisements, an organization's data server, etc.

Content may be selected for presentation based on an identity of aparticular party, a relationship between the caller and the calledparty, an assumed (or known) purpose of the call, and/or other factors.

In step E, call controller 230 forwards the selected content to eitheror both of the caller and the called party. In some embodiments, thecontent may be served directly to a caller or called party from acontent provider. Content may be presented to either party before thecalled party's telephone rings, during the parties' call and/or afterthe call is terminated.

The voice channel between caller 210 and called party 250 may be routedand established in a normal fashion. However, initiation of theconnection may be delayed for a short period of time (e.g., by callprocessor logic operating on the caller's telephone). Thus, the actualvoice connection may be completed any time after step A.

Illustrative content that may be presented to a caller or a called partypre-ring includes commercial offers and advertisements (e.g., if theother party is a commercial organization), private content such aspictures, communications, present status, current location (e.g., if theother party is a private individual), notifications, alerts, anidentifier of the other party to the call (e.g., a corporate logo, apersonal avatar), etc. As part of pre-call content, a caller may be ableto better target his destination party. For example, if he is calling anorganization's main (or toll-free) number, he may be presented withcontent that allows him to choose a particular office or outlet (e.g.,based on city or address).

Illustrative content that may be presented to a party during a callincludes any or all types of content that may be presented pre-ring.In-call content may also or instead relate to the parties' voiceconnection, perhaps to provide visual description of a subject of theparties' conversation, to graphically show different products or productoptions, to show a transcript of the conversation in real-time or nearreal-time (or provide other assistance to a hearing-impaired party), toguide a party through an IVR (Interactive Voice Response) menu, toprovide customer assistance graphically (instead of or in addition toverbally), to exchange information textually/graphically instead ofhaving to speak it or punch it in via a keypad, to promote an up-sell,to guide a party through an organization's telephone directory to find adesired person, etc.

Illustrative post-call content includes content that may be presentedpre-ring and/or in-call. Post-call content may also or instead summarizethe parties' conversation or transaction, provide a receipt, identifyfollow-on actions, confirm a later appointment or other scheduled event,etc.

FIG. 3 illustrates content that may be presented to a caller or a calledparty in association with a telephone call, according to someembodiments of the invention.

Content 310 reflects the presentation of a logo, profile or othercontent that identifies an organization. In particular, content 310comprises an advertisement of a merchant. Content 310 may be presentedto a caller when she initiates a call with the indicated merchant, ormay be presented to a called party when the merchant calls her (e.g., toverify an order, to report on an order status, to obtain additionalinformation). Or, the illustrated content may be presented when a personengages in a call with a competitor of the indicated merchant, oranother party unrelated to the merchant.

Content 350 includes not only a logo or other visual illustration of anorganization, but also presents an offer of a product or service (i.e.,a room upgrade). Illustratively, the recipient of content 350 may havebooked a room reservation (with the indicated merchant or a competitor),or may be in the process of making a room reservation.

Thus content 350 may be presented while the recipient is engaged in acall with the offering merchant, in which case the recipient canverbally accept the offer or make an inquiry. Or, if the offer ispresented when the recipient is not currently engaged in a call with themerchant, hitting a “dial” button, tapping the screen (if it istouch-sensitive) or activating another control may initiate a callbetween the recipient and the advertising merchant so that she can takeadvantage of the offer.

In FIG. 3, a call controller managing the presentation of content 310and/or content 350 may be a merchant featured in the content, especiallyfor a call placed to the merchant or from the merchant. Or, the callcontroller may be a call server or other third party. Because the callcontroller may be a third party, calls during which the content ispresented may not even involve a merchant identified in content 310 orcontent 350.

FIG. 4 also illustrates content that may be presented to a caller orcalled party in association with a telephone call, according to someembodiments of the invention.

Illustratively, content 410 may be presented to a caller during a callwith the indicated pizza vendor. Content 410 not only allows themerchant and the caller to verify the caller's current order, but alsocomprises an advertisement or offer for an additional purchase, and maybe presented before, during or after the call. Specifically, content 410verifies the customer's order (i.e., for one large Chicago-style pizza,with pepperoni) and the delivery address, and also reminds the customerof a special offer (i.e., $0.99 apple pies on Tuesday nights).

Content 410 may also, or instead, provide a control that the caller canactuate to cause the caller's address (e.g., home address, work address,current address) to transmitted to the merchant or call controller.Illustratively, address information may be stored on the caller'scommunication device (e.g., in a contact record associated with thecaller) and may be automatically transmitted to another party when thecaller initiates such action.

In FIG. 4, the call controller that manages the presentation of contenton the customer's telephone may be a telephone agent associated with thepizza merchant. In this case, when the customer called the merchant, adata connection was automatically established between the controller(which may be local to or remote from the customer) and the customer.Thereafter, the call controller can determine what is presented to thecaller.

FIG. 5 also illustrates content that may be presented to a caller orcalled party in association with a telephone call, according to someembodiments of the invention.

Content 510 of FIG. 5 identifies a merchant or other organization withwhich a person has established a telephone call, completed a telephonecall, or is about to call, or possibly a competitor of such a merchant.Content 510 includes coupon 520, and may be used during a call with theadvertiser or offline (e.g., in person in a retail store). As indicated,the coupon may be automatically transmitted to the person's emailaddress if the call controller or an associated call server knows his orher address, or if the person releases the address.

In other embodiments of the invention, other content may be presented toa party when he is engaged in a call with a merchant, or has initiated acall to a merchant. For example, the party's last transaction may bedisplayed, an outstanding balance or other account status may bepresented, another merchant advertisement (e.g., from the yellow pages,from an email campaign) may be displayed. etc.

A call reflected in FIG. 5 may be controlled by the organizationidentified in the content (e.g., a telephone agent that is talking orhas talked with the customer) or by a third party (e.g., a call server).

FIG. 6 illustrates content that may be presented to a potential calledparty in association with a telephone call, according to someembodiments of the invention.

Content 610 of FIG. 6 may be presented to a called party pre-ring (i.e.,before her telephone rings), in association with a pending call from anorganization, such as the indicated bank. As shown in FIG. 6, thecontent advises the party that the organization is placing a call to hertelephone, and indicates a reason for the call. The party may be able todefer the call, agree to answer it, or take other action, by activatinga corresponding control 620.

In some embodiments, advisory pre-ring content such as content 610 mayinclude information to help verify the authenticity of the source of theupcoming call. For example, the organization may include some digits ofthe person's account number, give details of a previous transaction withthe organization, etc.

In some embodiments, pre-ring content may include controls for takingaction such as accepting the call as planned, completing the callimmediately, postponing the call, scheduling it for a particular time,etc. Such controls may be included as part of the pre-ring content, ormay be added by the call controller or the call processor logic on thereceiving party's communication device.

A call controller for presenting content 610 may be the organizationthat wishes to contact the called party (e.g., a telephone agent, anaccount representative), or may be a third party.

FIG. 7 illustrates content that may be presented to a caller inassociation with a telephone call, according to some embodiments of theinvention.

Content 710 of FIG. 7 is presented to a caller pre-ring, when hecommences a call to a friend or acquaintance (e.g. someone within herlist of contacts or friends). Instead of only seeing the name and/ornumber of the person he is calling, the caller receives additionalinformation regarding the called party and/or other people, such as apicture of the called party.

Pre-ring content 710 reports the current status of the target calledparty, which may be determined by the call controller or call serverhandling the data portion of this call. His status may be tracked by thecall controller, especially if the call controller is associated withthe called party's telephone service provider, in which case it caneasily stay apprised of the status of the party's telephone.

Thus, the target called party's status may indicate that he is currentlyon another call, that he is otherwise busy, that his telephone is turnedoff, etc. Illustratively, he may have activated a control on histelephone that reports his status. Based on the called party's status,the caller may be offered options to have a return call placed to thecaller when the called party is available, to try the call again, tocontinue with the call (e.g., to leave a voicemail or media message), tocamp and wait for the called party to become available, etc.

Content 710 also includes an excerpt from the called party's (or a thirdparty's) electronic presence (e.g., an excerpt from Facebook, MySpace orother web site), a recent Twitter message (from the called party or amutual friend/acquaintance), an offer to make a further connection withthe called party (e.g., via LinkedIn, hi5, Windows Live Messenger), arecent photo posted by the called party, and so on.

As indicated in FIG. 7, content 710 may be presented as pre-ringcontent, but some elements of the content may also (or instead) bepresented as in-call or post-call content. Alternatively, in-call andpost-call content may be completely different from content 710.

The called party may be presented with similar content pre-ring, in-calland/or post-call. Of course, instead of seeing content about himself,the called party would be presented content associated with the callerand/or third parties (e.g., mutual friends and acquaintances).

Content 710 includes timer 712 that indicates how soon the voice channelof the call will be connected or routed for connection. Illustratively,the voice connection may be delayed in order to determine and presentthe called party's status, to retrieve content to be presented, to allowthe caller to review content 710 or to choose an alternate course ofaction if the called party is not currently available, or for some otherreason. A control (e.g., one of controls 720) may, however, allow thecaller to terminate the delay and proceed with (or attempt) the voiceconnection immediately.

A call controller for controlling presentation of content 710 in FIG. 7may be the called party or a third party (e.g., a call server, atelephone service provider of the caller or the called party). Forexample, the called party may have specified certain content, or sourcesfrom which content may be retrieved, for presentation to someone when acall is established or is being initiated to him. Similarly, the callermay have identified content that may be displayed to the called party,in which case he may be considered the call controller for the calledparty's side of the telephone connection.

FIG. 8 further illustrates content that may be presented to a caller orcalled party in association with a telephone call, according to someembodiments of the invention.

Content 810 of FIG. 8 not only identifies the other party to a currentcall, but also includes content drawn from an electronic presence of theother party (or a third party), such as content from Facebook, Slide,Twitter and/or other web sites or content repositories. Yet othercontent may be accessed by either or both of the parties to the call, byactivating an appropriate control within content 810 to open a YouTubevideo, view a photo at Flickr, listen to some audio, etc.

Content 810 may also provide personal information about the other party(e.g., her upcoming birthday), her approximate location (e.g., 1700 feetaway), her status (e.g., in a meeting, dining, in transit).

An advertisement included with content 810 may be relevant to anotherportion of the content (e.g., a birthday announcement, a discussion oftraffic, an invitation to dine), and/or may be associated with one orboth of the parties' current locations (e.g., as reported by a GPScomponent of a party's telephone).

A call controller responsible for presenting content (or determiningcontent to be presented) to a caller or called party in the call of FIG.8 may be the other party, a call server or some other third party (e.g.,the source of the advertisement).

As seen in FIGS. 3-8, pre-ring, in-call and post-call content presentedto a caller or called party may relate to any of the parties to a calland/or a third party. The content may include entertainment for one ormore of the parties to enjoy before, during and/or after the call butmay also include commercial information (e.g., sales offers, transactiondetails, advertisements, coupons). Commercial content presented to aparty engaged in a call with an organization may be associated with thatorganization, a competitor, an associate, or an unrelated entity.

Content may include various controls for accessing additional content(alone or in unison with the other party to a call), for navigating to aparty's page or presence at a particular web site, for affecting thevoice channel of a call (e.g., to delay or reschedule a call, to leave amessage, to add another party to the call), for accepting or viewingfurther details of an advertisement, and so on.

Some controls and actions offered via content presented on a party'scommunication device may involve altering the routing of a current call.For example, when a caller initiates an overseas call via a particularcarrier, an advertisement or offer from a competing carrier may bepresented pre-ring (e.g., to complete the call for $0.0X per minute). Ifthe caller wishes to take advantage of the offer, he may activate acorresponding control within the presented content. Or, the offer may bepresented as an offer or coupon during or after the original call.

Similarly, a caller may choose to route a call to a differentdestination based on pre-ring content. Thus, if a caller dials acommercial organization and an advertisement or offer from a competitoris presented pre-ring, the caller may accept the offer (e.g., byactivating a control within the content), in which case the destinationof the call is changed before the original called party's telephonerings.

In some embodiments of the invention in which a call is controlled by athird party (i.e., not the caller or the called party), the callcontroller may present to one party content associated with a competitoror an associate of the other party. For example, content selected forpresentation may be provided by the highest bidder for calls targeting aparticular merchant or from a particular caller, or from a callermatching a certain demographic (e.g., age, sex, location, income).

In some embodiments, before or during a current call, a caller (orcalled party) may specify that another call should be established whenthe current call is terminated. If multiple follow-on calls are desired,a queue may be established (and be viewable to that party). For example,if an advertisement or a communication from a friend/acquaintance ispresented to the caller before or during a first call, he may activatean associated control to program his communication device toautomatically place a follow-on call when the current call is completed.

As described previously, when a caller or called party's communicationdevice is not capable of presenting rich content, pre-ring, in-calland/or post-call content may be presented on a selected computingdevice. The content may be presented within a traditional browserprogram, within an application provided by an operator of a call server(or by some other entity), via an instant messaging program orelectronic mail, or in some other manner.

FIG. 9 is a flow chart demonstrating a method of controllingpresentation of multimedia content in association with a telephone call,according to some embodiments of the invention. In these embodiments,content may be presented on a communication device or associatedcomputing device of either or both a caller and a called party.

In operation 902, a caller initiates a call from a communication device.In some embodiments of the invention, a dialer or call processor on thecaller's telephone is augmented or replaced by a dialer or callprocessor configured to facilitate such media presentation, or ismodified to operate as described here.

A replacement or modified call processor program may be configured toimmediately initiate a data connection with a call server or othercontroller when the caller enters the number to be dialed, when thecaller selects the party to be called (e.g., from a list of contacts),or when the caller activates a control to place the call (e.g., a “dial”button”). Or, if the caller uses a search function to find a desiredparty by entering a partial name or telephone number, the search may beperformed both on the user's device and off the device (e.g., at a callserver), in which case the call controller can determine in real timethat a call is being commenced.

In optional operation 904, the call processor (or other logic on thecalling device) may present an initial message or content screen to thecaller (if the calling device is capable of presenting such a message).For example, if the called party is known to be a friend of the caller,an initial message such as “Retrieving X's latest photo from Facebook .. . ” or “Checking X's current status . . . ” (where X is the name ofthe friend) may be displayed.

Or, if the called party is known to be a merchant that has an agreementwith the call controller, a commercial-oriented message may bedisplayed, such as “Checking for personalized offers . . . ” (if thecalled party is a vendor) or “Retrieving details of your previoustransaction . . . ”, etc.

Yet further, an initial set of content may presented from local storage(e.g., a cache) on the caller's device. For example, for parties thatthe caller often communicates with (e.g., close friends, favoritetake-out restaurants), content related to the parties (e.g., pictures,video shared between the parties, a menu) may be presented even beforethe call is connected. Depending on the resources of the caller'sdevice, content related to any number of specific parties, and/orgeneral content that may be displayed for calls to various parties, maybe cached on the caller's communication device.

Thus, an initial message displayed even before the caller's call isplaced may comprise a logo or advertisement of a commercial business, anavatar representing a friend or acquaintance, a picture of the calledparty, social content (e.g., from a social networking or content sharingweb site), etc. Such content may be automatically refreshed on a regularor occasional basis. In some alternate embodiments of the invention, aninitial message may simply indicate that the desired call is beingplaced (e.g., with minimal or no multimedia content).

In optional operation 906, the voice portion of the call is delayed. Inparticular, in the illustrated embodiment of the invention, signaling ofthe call via SS7 (Signaling System Number 7) or other telephoneswitching scheme may be automatically delayed by a short period of time(e.g., 1 second, 5 seconds, 10 seconds) to allow a data portion of thecall to be established between the calling device and a call controller.As described above, the call controller may be a call server, atelephone agent (automated or human), an operator or other entity.

A default period of delay may be increased or decreased based on anidentity of the caller or called party, or the time necessary to collectand present appropriate content, and different delays may be associatedwith different parties. Yet further, once the data connection isestablished with the call controller (e.g., in operation 908), thecalling device may be instructed to extend the delay or to reduce oreliminate any delay.

For example, if the call is being placed to a particular friend oracquaintance, and it is known that no relevant multimedia content isavailable regarding that person, the delay may be negligible.Alternatively, if the call controller is able to quickly determine thatan electronic presence of the called party has recently been changed(e.g., at a web page on Facebook or MySpace or Slide), a delay may belengthened to allow that page (or a portion thereof) to be retrieved andserved to the calling device.

As another example, if the call is being placed to an unknown party, nocontent specifically relative to that party will be identified, and sothere may be little or no delay. Alternatively, if the called party is aknown commercial entity, the call controller may implement a delaysufficient to allow identification, retrieval and serving of relevantcontent—such as details of a previous transaction, a status of a currenttransaction, an advertisement from a competitor, a special deal, a guideto an IVR (Interactive Voice Response) menu of the called party'stelephone system), etc.

Voice connections to some telephone numbers (e.g., 911, 411, 0), tofriends and acquaintances (e.g., private individuals within the caller'scontact list), or to numbers matching certain patterns (e.g., anythingless than seven digits, anything more than ten digits, anything with a *or # symbol) may be initiated without delay or otherwise treated in aspecial manner.

In operation 908, a data connection between the caller's communicationdevice and the call controller is established, and the call controllerreceives the origination telephone number, the destination telephonenumber and any related information (e.g., names of caller and calledparty, an indication of a frequency of contact between the parties,details of a previous call between the parties).

In some embodiments of the invention, the call controller is an agentassociated with either the caller or the called party, especially whenthat party is (or represents) a company or other organization. Thus,presentation of content in association with calls placed to someorganizations (e.g., large commercial companies) may be controlled by anagent that works for that organization. In these embodiments, the callcontroller can present to the caller special deals (e.g., sales,personalized offers, upgrades), details of a previous or currenttransaction between the caller and the organization, visual informationregarding the organization or a product or service the organizationoffers (e.g., pictures, video, graphics), etc.

In other embodiments, a call controller may be a third party (e.g., thecaller's or called party's telephone service provider, an operator of acall server). A third party controller may control presentation ofcontent related to either or both the caller and called party, and/ormay present content relating to a different party. For example, a thirdparty call controller may present to a caller an advertisement for acompetitor or affiliate of the called party, or present to the calledparty an advertisement for a competitor or affiliate of the caller.

A call controller may establish agreements with commercial (and/orother) entities to present their selected content (e.g., advertisements,special offers) to certain callers and/or called parties based on theiridentity or the identity of a party to which they would be connected toif the current call is completed. The content to be presented may beselected at random, or may be based on an identity or profile of thecaller or the called party.

In particular, a call controller (especially a third party call server)may auction or otherwise sell content presentation to advertisers orother entities. The call controller may differentiate contentpresentation opportunities based on the caller and/or called partyidentities, geographical location of a party, party demographics, and/orany other characteristic.

Also in operation 908, the call controller may quickly attempt toascertain a status of the called party. For example, by making (orattempting to make) a data connection to the called party'scommunication device, the call controller may determine that the calledparty is available, is on a call (and maybe an identity of the otherparty), is in a meeting or is otherwise unavailable. Illustratively,such a status may be determined based on a status of the communicationdevice (e.g., off-hook) or by a status set on the device by the calledparty (e.g., to forward call, to initiate a silent mode of operation).

If the called party is unavailable, the caller may be offered the optionto wait, to call later, to leave a message, to have the called partyplace a return call the caller, to automatically place a call from thecaller to the called party when he/she is available, etc.

The call controller may also determine whether the communication devicesof either the caller or called party are incapable of presentingmultimedia content, in which case any content selected for presentationto that party may be presented on an associated computing device (if onehas been identified).

Once the call controller learns the identities (or telephone numbers) ofeither or both the caller and the called party, it may block or allowthe call based on a global block/allow list maintained at the callcontroller. For example, if the caller is a known telemarketer orspammer (or other undesirable caller), or perhaps even a suspectedtelemarketer, and the called party has opted to have calls from suchsources blocked, the call controller may block the presentation ofcontent to the called party and may even prevent the voice connectionfrom being completed.

In operation 910, the call controller selects content to be presented tothe caller and/or called party, and retrieves it from an internaldatabase or from an external location. To select content forpresentation, the call server may consider personal characteristics(e.g., age, sex, geographical location), behavior (e.g., browsinghistory, calling history, buying pattern) and so on, of the callerand/or the called party.

The call controller may also consider whether the caller or called partyis known to have a personal web page, a page on a social networking ordating site, or some other electronic presence that can be accessed andthat can be shared with the other party. Illustratively, subscribers maygive permission to a call controller to access certain electronicinformation and present it to all or selected parties. Thus, friends andfamily members can specify that their electronic content on certainsites can be shared with certain people (or all parties) with which theycommunicate.

Content may be presented to either party pre-ring (i.e., before thecalled party's communication device rings), in-call (i.e., during acall) and/or post-call (i.e., after one or both parties hang up). Thecall controller may identify and/or retrieve content to be displayed inall phases at once, or may identify/retrieve content separately for thedifferent phases. Information necessary to select appropriate content(e.g., identities of the caller and called party) may be received viathe data connection—such as in the form of the parties' telephonenumbers or network addresses (e.g., for VoIP calls)

Content to be presented to a party may change over time, or be replaced,even during a call. For example, if one of the parties updates a page ofpersonal electronic content (e.g., on a social network site), that pageor the changes may be automatically shared with the other party. Or, asa call with a commercial entity proceeds, presented content may beupdated to reflect an order that is being placed for a good or service,to verify terms of a transaction, etc.

In operation 912, pre-ring content (i.e., content to be presented beforethe destination communication device rings) is transmitted to the callerand/or the called party via data channels.

In some embodiments of the invention, pre-ring content presented to acaller or called party comprises information that the call controllerbelieves the party may be able to use or wish to see during the call.For example, if one party is an organization, the other party may beshown location information regarding the organization (e.g., the nearestshop or outlet of the organization), a profile or description of theorganization, details of a previous or pending transaction with theorganization, the status of an account with the organization, an offerfrom a competitor of the organization, a purpose of the call, anotification of the call, etc.

If the parties are friends or acquaintances, one party may be showncontent drawn from a social networking site or other electronic presenceof the other party (e.g., a photograph, a video), content shared betweenthe parties, status information of the other party or a mutualfriend/acquaintance, etc.

Thus, pre-ring content presented to a caller or called party may beassociated with the other party and/or a third party (e.g., a competitorof one of the parties to the call, a mutual friend or relative of thecaller and the called party). Further, the called party may be offeredthe opportunity to postpone or re-schedule the call for a later time.

In operation 914, the voice channel of the call is routed normally(e.g., through the telephone network of the caller's service provider),and a communication device of the called party rings.

In operation 916, after the called party answers, in-call content (i.e.,content presented during the call) is transmitted to each party'scommunication device (or associated computing device) for display to thecaller and/or the called party. In-call content may be the same as, ordifferent from, pre-ring content.

For example, if one party is a merchant, the other party may bepresented with information regarding a current transaction with themerchant, possibly to verify what is being ordered, a delivery address,a method of payment or other detail. This data may be updateddynamically as the call progresses. Or, if the caller and called partyare collaborating on a document or other electronic product, some or allof that content may be displayed.

Yet further, one of the parties may select content stored on his or hercommunication device, or navigate a browser of their device to somecontent, and elect to share that with the other party. The callcontroller or a call server would then ensure the other party is able toaccess the content. Content may be shared in this manner before, duringand/or after a call. Even without an associated call, one party may beable to transmit data or content to another party via the systemdescribed herein, for off-line presentation to the other party.

One benefit of presenting in-call content is that a caller and a calledparty can engage in simultaneous data and voice connections. Althoughthe voice connection will couple the caller and called party (and anyother parties conference in), the data connection may couple each partyto a call server or a call controller. They may therefore discuss andshare electronic content in real-time.

If the call is not answered in operation 916, the caller may be able toleave a voice or multimedia message for the called party.

In operation 918, one or both of the parties hang-up, therebyterminating the voice channel of the call.

In operation 920, additional (post-call) content may be presented toeither or both of the caller and the called party. Post-call content mayverify a decision made during the call, provide a party with follow-ontasks (e.g., make a call to another party, view a web page associatedwith the other party), etc. Or, post-call content may be identical orsimilar to pre-call and/or in-call content.

In some embodiments of the invention, a person (or organization) mayconstruct or design a custom set of content to be presented to anotherparty before, during or after a call to (and/or from) that party. Thecontent may be static in that it comprises content that is selected onceand does not change unless/until the person changes the content. Or, thecustom content may comprise links to content or content sources that maychange over time—such as the person's MySpace or Facebook page (or aparticular frame of such a page). As the content changes, the updatedcontent will be captured and presented to other parties as allowed bythe originating party (e.g., limited to friends and family, displayableto all parties).

For example, a person may assemble a personalized hello screen or page(for playing at the beginning of a call) or a personalized goodbyescreen (to be played after a call). Other personalized screens may beconfigured to be presented to another party in the case the personcannot take a call—such as one screen if the person is busy, and adifferent screen if the person is away from her phone—or for otherreasons.

Such personalized content may include controls for taking some action.For example, if a called party is busy and cannot take the caller's callimmediately, personalized content presented to the caller with a controlthat helps the caller navigate to the called party's social network webpage, to a calendar for making an appointment or seeing when the calledparty will be available for a call), etc.

A call server or other entity may provide a web server or other onlineservice to assist a subscriber in the creation and maintenance of apersonalized page or screen of content to be presented to another partywhen the subscriber calls (or receives a call from) the other party.This service may be independently operated or may be hosted by anotheronline presence, such as MySpace, Facebook, Slide, etc.

Other parties, particularly organizations, may develop custom pages orscreens independently. Custom screens may be cached on a call server,stored with a call controller, or maintained elsewhere (e.g., in theorganization's data center) in anticipation of being retrieved forpresentation. In some embodiments, a party's custom screen may beindexed by telephone number, by an identity of the party (e.g., name)and/or in another manner.

In addition to, or instead of, identifying or constructing defaultcustom content to be presented to another party in association with atelephone call with that party, a person (or organization) may constructor select a simple pre-ring message to be presented to a targeted party.As described above, for example, a caller may issue a pre-ring messageidentifying a purpose for the pending call.

Before, during, after and between calls, a party may push images, videoand/or other content to another party (e.g., an electronic contact orbusiness card, an electronic birthday card, a shipping or billingaddress, payment data, a receipt). Further, parties to a call maysimultaneously access content located on one of the parties' devices orelsewhere.

FIG. 10 is a flow chart demonstrating a method of presenting relevantcontent to a caller in association with a call to an organization (e.g.,a merchant), according to some embodiments of the invention.

In operation 1002, an operator of a call server accepts bids for theopportunity to present content to persons calling the organization. Inparticular, third parties (and/or the organization itself) may bid anamount they are willing to pay the call server in return for the callserver presenting the third party's selected content to some number ofcallers that initiate calls to the organization.

This operation may be part of a larger effort in which the call serverauctions the ability to present content to persons that will callvarious organizations. In different embodiments of the invention,content selected by the winner of an auction may be cached on a callserver, may remain with the winner or may be cached elsewhere (e.g., anad server). The call server may auction different call typesseparately—such as calls from different geographical areas, calls fromcallers matching different demographics, calls to a specific subset ofthe destination organization's telephone numbers, etc.

Because content may be presented to a caller pre-ring (before thedestination party's telephone rings), in-call (during the call) and/orpost-call (after the call), different parties (or the same party) mayearn the right to have their content presented at different times. Thus,one party may supply pre-ring content while other parties presentin-call and post-call content. Or, one party may win the right to supplymultiple stages of content in association with one call.

Further, multiple parties may obtain the opportunity to present contentat the same time. For example, one type of content (e.g., pre-ringcontent) may be configured to comprise two (or more) components orframes, and each component may be populated by a different source.

In some embodiments of the invention, a party (e.g., the organization)may obtain the ability to directly control the presentation of contenton the caller's communication device at some phase, especially duringand/or after the call. Thus, while a different party, such as acompetitor of the organization, may serve pre-ring content for a caller,once the call is connected to the organization, the organization may beable to dynamically select and present content to the caller.

In optional operation 1004, the call server receives a destinationtelephone number lookup request from a caller's communication device(e.g., telephone). More specifically, in the embodiments of theinvention reflected in FIG. 10, a caller may initiate a keyword-basedlookup of a destination telephone number. The keyword received inoperation 1004 may or may not match the organization identified inoperation 1002.

To perform a search, the caller may enter a portion of the name of adesired destination by spelling it out with his telephone's keypad or byspeaking it into the telephone's microphone. That input may be used (andconverted to text as necessary) to lookup matching parties locally(i.e., on the caller's communication device) and/or globally (i.e., on acall server or other location external to the caller's communicationdevice).

It may be noted that a keyword-based search may involve searching forspecific people and/or organizations having names that match a caller'skeyword. Or, a keyword may identify a category of a good or service thecaller desires (e.g., pizza, taxi, hotel, Chinese food), in which casethe results will include parties that can provide the desired good orservice.

Thus, if the caller enters several letters of a merchant's name orcategory of good (e.g., “h e r t”, “m a r r i o”, “p i z z”), searchesmay be initiated for people and/or organizations that match the keywordor input pattern. A search may return any number of results (zero ormore), depending on how many characters are input, whether the caller isspelling the name correctly, how many telephone numbers are associatedwith parties that match the keyword, etc.

In some embodiments, the call server may auction or sell prioritypositions in keyword search results. Specifically, a party matching akeyword pattern (or even a party that doesn't match the pattern) may paythe call server to receive premium treatment in a list of search resultsserved to the caller (e.g., by being placed at the top of the list, byreceiving an entry having larger size, different color or otherhighlighting).

If multiple telephone numbers are found for a given party that matchesthe keyword(s), they may be ordered in some logical fashion. Thus, alocal or toll-free number for the party may be prioritized higher than along-distance number, a matching party that the caller has called beforemay be prioritized above one that he or she has not called before, etc.

Of note, a search or directory lookup initiated by a caller in operation1004 may simultaneously or sequentially search the caller's localcommunication device and a call server (and/or a third-party directory),with only a single command or control activation. Thus, the caller caninitiate a search of multiple data repositories, local and remote, witha single command.

Besides searching a person's contact list on their local communicationdevice and/or a central call server (or call controller), a directorylookup or contact search may also search contact information stored inthe person's electronic online presence. Thus, contact informationwithin the person's page on MySpace, Facebook or other social site maybe searched. Yet further, a search may be conducted within a third-partydata repository, such as an online yellow pages, a university's or otherorganization's telephone directory, etc.

In optional operation 1006, the call server serves a list of searchresults. The results may be ordered alphabetically, by popularity orsome other rating, by location (e.g., distance from the caller), bypayments received from parties in the list, etc. A list of resultsprovided by the call server may be merged with a list of resultsgenerated by the caller's communication device.

In operation 1008, the call server is notified of a call being placed tothe organization. Illustratively, the caller may have initiated the callby selecting or activating an entry within the list of search resultsreceived in operation 1006, or may initiate the present call at somelater time. Notification of the call may be received via a data channelhosted by the caller's communication device.

Alternatively, the notification may be received via a data connectionwith the caller's telephone service provider. This may occur if thecaller's communication device does not have a data channel or is notcapable of presenting rich content.

Routing of the caller's voice connection may be automatically delayed bythe caller's communication device or by the caller's telephone serviceprovider. For example, the destination organization may be recognized asa commercial entity, and call processing logic on the caller's device(or at the caller's service provider) may be configured to delay callsto commercial organizations so that appropriate content can be selectedand presented to the caller.

In operation 1010, the call server identifies a source of pre-ringcontent to be presented to the caller, based on the destinationtelephone number (i.e., the organization), the caller's identity, thecaller's location and/or other factors. Based on the auction ofoperation 1002 for example, the call server may be configured to servecontent provided by the winner of the auction to the next X number ofcallers that place calls to the organization, or to callers matchingsome specific criteria.

In operation 1012, the call server queries the content provider for thepre-ring content. Alternatively, such content may be pre-identified, inwhich case the call server may automatically retrieve it.

If the pre-ring content must be retrieved from the content provider, thecall server may provide information regarding the caller (e.g.,telephone number, name, demographic data). Such information may be usedby the content provider to select particular content; for example, thecontent provider may wish to present different content to callers thatit “knows” than to unknown callers. Therefore, if the caller has arelationship with the content provider, the content provider may producecontent comprising a different offer, advertisement or other message.

In operation 1014, the content provider submits pre-ring content to thecall server that it would like to have presented to the caller or,alternatively, identifies a location (e.g., URL, network address) fromwhich the content may be retrieved.

In operation 1016, the call server transmits the selected pre-ringcontent to the caller's communication device, and call processing logic(or other logic) operating on the device presents the content to thecaller. Alternatively, browser logic (or other logic) operating on thecommunication device may be instructed to retrieve the content from oneor more specified locations. For example, the pre-ring content maycomprise one or more components stored in one or more locations, and thebrowser logic may be responsible for retrieving the components,assembling them and presenting the content.

As described previously, if the caller's communication device isincapable of receiving or displaying the content, the content may bepresented on a computing device associated with the caller.

In operation 1018, the caller's communication device (or computingdevice) or the call server determines if the caller takes some actionwith regard to the pre-ring content that affects routing or processingof the voice connection.

For example, the pre-ring content may include an offer from a competitorof the organization, or an offer to route the call more cheaply, and thecaller may activate a control associated with such an offer. The actionmay thus simply affect how the voice connection is routed, or may changethe destination of the call. If the call is modified by the caller'saction regarding the pre-ring content, the method continues at operation1020; otherwise, the method advances to operation 1022.

In operation 1020, the call server or logic operating on the caller'scommunication (or computing) device implements the desired action. Thus,a call processor on the communication device may drop or cancel thecurrent voice connection (which may not have been dialed yet) and selecta new telephone number to call.

Note that if the call destination has changed (e.g., to a differentorganization), a different party may become responsible for providingcontent to be presented in-call and/or post-call.

In operation 1022, the voice portion of the call proceeds, either to theoriginal destination or a new one specified by the caller in operation1018. In addition, the call server queries or prompts the appropriatecontent provider for in-call content.

In an embodiment of the invention in which control of in-call contentpresentation completely passes to a call controller (i.e., contentprovider) other than the call server, such as the destinationorganization, such control may be passed in operation 1022.Specifically, once the call is confirmed to be destined for a particularorganization, the organization may become the call controller forin-call and possibly post-call content as well.

In operation 1024, in-call content is presented to the caller on hiscommunication (or computing) device. As already described, the contentmay be served from the initial call server (after being identified by aresponsible content provider), by the selected content provider, or maybe served directly from an assigned call controller.

Even if a call controller separate from the call center has acquiredcontrol of in-call content presentation, such content may still transita data channel established between the caller and the call server. Or,alternatively, the data channel may be re-routed to the call controller.

The in-call content may directly relate to the call, especially if thecontent is produced by the called organization. For example, if thein-call content is controlled by a human agent of the calledorganization, she may supplement information exchanged over the voiceconnection with audio and/or video data presented via the caller'stelephone or computing device.

In operation 1026, post-call content is presented to the caller after heand/or the called organization hang-up. Such content may be produced bythe called organization and/or by some other party that earned the rightto have its content presented.

Post-call content may directly relate to the call (e.g., a receipt, aninvoice, a transaction summary), may be unrelated, or may have somelogical association—such as an offer for a good or service thatcomplements (or competes with) something the organization sells orprovides.

In some embodiments of the invention, pre-ring, in-call and/or post-callcontent presented to a caller or a called party may include one or morecoupons. In these embodiments, a coupon may comprise a graphical imageof a coupon, a discount code, or any other textual or graphical displaythat grants the recipient a discount in purchase price or a special deal(e.g., one item free with the purchase of another item). An entire (orpartial) image of the coupon may be presented, or just a link to thecoupon may be presented (e.g., “Press here for a 25% off coupon!”).

A coupon may be redeemed during a telephone call associated with thepresentation of the content or at some later time. Call processor logic,coupon logic or other logic operating on the recipients communication(or computing) device may be configured to save coupons, at least untiltheir dates of expiration. Coupons may also, or instead, be saved for auser at a call server, such as in a “coupon account” associated with theuser, either by name or by a telephone number associated with the user.

A coupon database for storing coupons for award or presentation to usersmay be indexed or sorted by telephone number and/or name of thecorresponding merchant, and may reside at a call server or a thirdparty. Then, when a caller initiates a call to one of the telephonenumbers or merchants, one or more coupons matching the target calledparty may be retrieved and presented.

Further, a coupon for a given merchant may be associated with atelephone number of a competitor or a merchant of an associated good orservice, in which case a caller may not receive coupons only for themerchant that it intended to call. A set of coupons identified forpresentation to a caller may be filtered by relevance, perhaps inconsideration of the merchants' proximity to the caller, the time of day(e.g., in case some merchants are closed), etc.

A coupon may be presented pre-ring based on the telephone number beingdialed or an identity of the target party. Or, in response to adirectory lookup (e.g., based on a keyword) performed on a call server,a coupon may be served for an organization included in the list ofresults (or for a competitor of such an organization). Thus, if a callerenters a lookup for the keyword “pizza,” along with a list of pizzavendors (possibly identifying their proximity to the caller), one ormore coupons may be presented.

Along with presentation of a pre-ring coupon, a control for routing orre-routing the call to the offeror may be provided. If activated, thecoupon (or notification of the coupon) may be passed to the offeroralong with the call.

In-call presentation of a coupon may be triggered not only by a callserver or call controller selecting such content to be presented to thecaller, but may also be triggered based on coupons stored for theuser—either locally on her communication device or centrally in the“coupon account” mentioned above. Thus, after a voice connection iscompleted to an agent for a particular merchant, the caller may bereminded of (e.g., shown) a coupon she possesses for the merchant. Shecan then pass to the agent a code within the coupon or perhaps activatea control that transmits the coupon to the agent.

As for post-call content, after a caller completes a call with amerchant, post-call content may include a coupon for use the next timethe caller calls or visits the merchant. A post-call coupon may beautomatically or manually saved.

A coupon presented to a caller (or called party) in association with atelephone call may include a limitation on how or when it may beredeemed. For example, a coupon for a lunch meal may only be good until6:00 pm the same day. Another coupon may be valid until sometime furtherin the future. Similarly, a coupon may be limited to a specific area.For example, a particular coupon may only be good at a specific store orat a merchant's locations in a particular area code, city or state.

Yet further, a coupon may be limited to certain recipients. For example,a particular coupon may only be redeemable by members of a specificgroup (e.g., frequent fliers of a given airline, account holders at agiven business), people meeting specified age or other demographicrequirements, subscribers of a particular telephone carrier, etc.

To prove his qualification to use a certain coupon, a caller may berequired to provide an account number or to manipulate his telephone totransmit a copy of a contact card evidencing his qualification.Alternatively, the caller's telephone number (e.g., via callerID) couldbe used to verify the caller's identity.

If a person's communication device is unable to display an electroniccoupon, it may be displayed on an associated computing device.

As described above, a caller may initiate a search of contacts or one ormore telephone directories from his communication device. In someembodiments, the caller merely needs to begin spelling a name of thedesired destination. Each character that is entered is appended to anypreceding characters and submitted to any local directories (e.g., acontact list on the communication device), as well as other repositorieson a call server, an online telephone directory, an organizationalcontact list, etc.

Thus, as each character is entered, any number of contacts may beidentified and used to populate a list presented to the user on thecommunication device. The list may shrink as the search becomes morespecific and the number of matching contacts decreases, and some or allentries may be accompanied by controls the user can actuate to initiatea call to the corresponding destination.

As more and more callers generate searches and select their desireddestinations, a call server (or a third party) can accumulate statisticsand trends to identify specific destination parties that are most likelyto be matches for a given sequence of search characters. This data maybe used to refine the manner or sequence in which matching destinationparties are presented.

In some embodiments of the invention, off-device contact lists orrepositories may be shared among multiple users. A shared list may beupdated by any or all of the participating users, who may be relatives,friends, members of an organization, classmates, etc. Thus, an update toa shared list submitted by one participant is automatically shared amongall participants.

Entries may, however, be screened or filtered according to a particularparticipant's desires. For example, a given participant may not wish toshare a particular contact with other participants, or may not wish tosee specific contacts that were added by another participant (e.g.,contacts that the given participant does not like).

A shared contact list may be stored at a call server or other centralsite and may be automatically searched when a list participant initiatesa search from her device. In addition, some or all contacts from ashared list may be automatically copied to a participant's local deviceor a computing device (e.g., for synchronization with an address liststored on the device).

FIG. 11 is a block diagram of hardware apparatus for facilitatingpresentation of multimedia content in association with a telephone call,according to some embodiments of the invention.

User interface mechanism 1110 of call server apparatus 1100 is adaptedto facilitate computing interaction between the call server apparatusand subscribers (e.g., callers, called parties), and possiblythird-parties (e.g., advertisers, content providers, call controllers).

Illustratively, a subscriber may manipulate the user interface mechanismto configure his or her profile, to register a computing device on whichcontent may be presented instead of a particular communication device(which may be identified by telephone number) that cannot present richcontent, and so on. An advertiser or content provider may manipulate theuser interface mechanism to identify (or upload) content to be presentedto a subscriber, to bid on the right to present content, etc.

Subscriber communication mechanism 1112 is adapted to host dataconnections between the call server apparatus and communication devices(and/or computing devices) of callers and/or called parties, inassociation with a current, pending or past voice connection between theparties. Thus, mechanism 1112 may be the component that learns of theinitiation of a new telephone call and that receives the caller's andcalled party's telephone numbers.

Content selection mechanism 1114 is adapted to select a source ofcontent (or to select specific content) to be presented to a caller orcalled party pre-ring, in-call and/or post-call. Mechanism 1114 mayselect content or a content source based on the parties to the call,such as a content provider that has paid a fee in order to have itscontent presented. Or, if non-commercial content is to be presented(e.g., in association with a call between friends), the identifiedcontent or content source may relate to an online presence of either orboth parties.

Content presentation mechanism 1116 is adapted to transmit content to acaller and/or a called party in some embodiments of the invention. Inembodiments in which the content is transmitted from a different entity(e.g., a content provider, a call controller operated by a commercialorganization), content presentation mechanism 1116 and/or contentselection mechanism 1114 may cooperate with the entity to arrange forthe transmission of the content. Or, control of the presentation ofcontent may be handed off to an assigned call controller in place ofcontent presentation mechanism 1116.

Call filtering mechanism 1118 is adapted to filter calls based on anydesired criteria. For example, calls (or data transmissions) that areinbound to a subscriber may be filtered based on the originating number,to block calls from telemarketers, spammers and/or other undesirableparties.

In other embodiments of the inventions, functions performed by thevarious mechanisms may be distributed among a different number ofmechanisms.

FIG. 12 is a block diagram of a call server for facilitatingpresentation of multimedia content in association with a telephone call,according to some embodiments of the invention.

Call server 1200 of FIG. 12 comprises processor 1202, memory 1204 andstorage 1206, which may comprise one or more optical and/or magneticstorage components. Call server 1200 may be coupled (permanently ortransiently) to keyboard 1212, pointing device 1214 and display 1216.

Storage 1206 of the call server stores logic that may be loaded intomemory 1204 for execution by processor 1202. Such logic includesbusiness logic 1222, data connection logic 1224, content selection logic1226 and call screening logic 1228. Additional logic may be stored andexecuted in other embodiments of the invention.

Business logic 1222 comprises processor-executable instructions forauctioning or selling an opportunity to have content presented tocommunication devices (and/or computing devices) in association with atelephone call, or for otherwise generating revenue in return forpresenting content to callers and/or called parties.

Data connection logic 1224 comprises processor-executable instructionsfor establishing, maintaining and terminating data sessions withcommunication and/or computing devices, to receive notification of callevents, serve content, retrieve content from a party's communicationdevice, etc.

Content selection logic 1226 comprises processor-executable instructionsfor selecting a source of content, or specific content, to be presentedto a party to a telephone call. If presentation of content is to becontrolled by an entity other than call server 1200, content selectionlogic 1226 (or another component of the call server) may select a callcontroller to manage the content presentation.

Call screening logic 1228 comprises processor-executable instructionsfor filtering, screening and blocking calls placed to (or from) asubscriber. Calls may be blocked (or allowed) based on an identity ofthe other party or a nature of the call (e.g., spam, telemarketing,adult content).

Data structures and code described in this detailed description aretypically stored on a computer-readable storage medium, which may be anydevice or medium that can store code and/or data for use by a computersystem. The computer-readable storage medium includes, but is notlimited to, volatile memory, non-volatile memory, magnetic and opticalstorage devices such as disk drives, magnetic tape, CDs (compact discs),DVDs (digital versatile discs or digital video discs), or other mediacapable of storing computer-readable media now known or later developed.

Methods and processes described in the detailed description can beembodied as code and/or data, which can be stored in a computer-readablestorage medium as described above. When a computer system reads andexecutes the code and/or data stored on the computer-readable storagemedium, the computer system performs the methods and processes embodiedas data structures and code and stored within the computer-readablestorage medium.

Furthermore, methods and processes described herein can be included inhardware modules or apparatus. These modules or apparatus may include,but are not limited to, an application-specific integrated circuit(ASIC) chip, a field-programmable gate array (FPGA), a dedicated orshared processor that executes a particular software module or a pieceof code at a particular time, and/or other programmable-logic devicesnow known or later developed. When the hardware modules or apparatus areactivated, they perform the methods and processes included within them.

The foregoing descriptions of embodiments of the invention have beenpresented for purposes of illustration and description only. They arenot intended to be exhaustive or to limit the invention to the formsdisclosed. Accordingly, many modifications and variations will beapparent to practitioners skilled in the art. The scope of the inventionis defined by the appended claims, not the preceding disclosure.

What is claimed is:
 1. A method of controlling presentation of contenton a communication device, the method comprising: receiving electronicnotification of initiation of a call from the communication device to acalled party, wherein the communication device is operated by a caller;transmitting a signal to the communication device to delay dialing thecall, without soliciting action by the caller; transmitting to one orboth of the communication device and the called party a pre-ring set ofmultimedia content to be displayed before the call rings at the calledparty; establishing a voice connection between the caller and an agentrepresenting the called party; and during the voice connection:identifying an in-call set of multimedia content; and transmitting thein-call set of multimedia content toward the communication device;wherein the communication device displays the in-call set of multimediacontent before termination of the voice connection.
 2. The method ofclaim 1, further comprising: identifying the pre-ring set of multimediacontent based on an identity of the communication device.
 3. The methodof claim 2, wherein the communication device is identified by atelephone number.
 4. The method of claim 1, wherein: the agent is ahuman agent; and the in-call set of multimedia content is identified bythe human agent, based on a conversation between the human agent and thecaller.
 5. The method of claim 1, wherein: the called party is acommercial organization; and the in-call set of multimedia contentgraphically depicts a current transaction between the caller and thecommercial organization.
 6. The method of claim 1, wherein: the calledparty is a commercial organization; and the in-call set of multimediacontent comprises an illustration of a product offered to the caller bythe commercial organization.
 7. The method of claim 1, wherein: thecalled party is a commercial organization; and the in-call set ofmultimedia content comprises one or more illustrations of configurationoptions for a product offered to the caller by the commercialorganization.
 8. The method of claim 1, further comprising, during thevoice connection: prompting the caller for payment information; andreceiving at the called party, from the communication device, a secondin-call set of multimedia content comprising the payment information,wherein the second in-call set of multimedia content is not conveyed viathe voice connection.
 9. The method of claim 1, further comprising:transmitting toward the communication device a post-call set ofmultimedia content to be displayed after termination of the voiceconnection.
 10. The method of claim 9, wherein: the in-call set ofmultimedia content comprises an actuable control; and the post-call setof multimedia content is selected for transmission to the communicationdevice based on actuation of the actuable control.
 11. The method ofclaim 1, further comprising: querying the communication device todetermine if the communication device stores content to be presented tothe called party; and if the communication device stores content to bepresented to the called party, retrieving the content and displaying thecontent to the agent.
 12. A non-transitory computer-readable mediumstoring instructions that, when executed by a computer, cause thecomputer to perform a method of controlling presentation of content on acommunication device, the method comprising: receiving electronicnotification of initiation of a call from the communication device to acalled party, wherein the communication device is operated by a caller;transmitting a signal to the communication device to delay dialing thecall, without soliciting action by the caller; transmitting to one orboth of the communication device and the called party a pre-ring set ofmultimedia content to be displayed before the call rings at the calledparty; establishing a voice connection between the caller and an agentrepresenting the called party; and during the voice connection:identifying an in-call set of multimedia content; and transmitting thein-call set of multimedia content toward the communication device;wherein the communication device displays the in-call set of multimediacontent before termination of the voice connection.
 13. A system forcontrolling presentation of content on a communication device externalto the system, comprising: one or more processors; and memory storinginstructions that, when executed by the one or more processors, causethe system to: receive electronic notification of a call from thecommunication device to a called party, wherein the communication deviceis operated by a caller; transmit a signal to the communication deviceto delay dialing the call without soliciting action by the caller;transmit to one or both of the communication device and the called partya pre-ring set of multimedia content to be displayed before the callrings at the called party; establish a voice connection between thecaller and an agent representing the called party; and during the voiceconnection: identify an in-call set of multimedia content; and transmitthe in-call set of multimedia content toward the communication device;wherein the communication device displays the in-call set of multimediacontent before termination of the voice connection.
 14. The system ofclaim 13, wherein the memory further stores instructions that, whenexecuted by the one or more processors, cause the system to: identifythe pre-ring set of multimedia content based on an identity of thecommunication device.
 15. The system of claim 13, wherein: the agent isa human agent; and the in-call set of multimedia content is identifiedby the human agent, based on a conversation between the human agent andthe caller.
 16. The system of claim 13, wherein: the called party is acommercial organization; and the in-call set of multimedia contentgraphically depicts a current transaction between the caller and thecommercial organization.
 17. The system of claim 13, wherein: the calledparty is a commercial organization; and the in-call set of multimediacontent comprises an illustration of a product offered to the caller bythe commercial organization.
 18. The system of claim 13, wherein: thecalled party is a commercial organization; and the in-call set ofmultimedia content comprises one or more illustrations of configurationoptions for a product offered to the caller by the commercialorganization.
 19. The system of claim 13, wherein the memory furtherstores instructions that, when executed by the one or more processors,cause the system to, during the voice connection: prompt the caller forpayment information; and receive at the called party, from thecommunication device, a second in-call set of multimedia contentcomprising the payment information, wherein the second in-call set ofmultimedia content is not conveyed via the voice connection.
 20. Thesystem of claim 13, wherein the memory further stores instructions that,when executed by the one or more processors, cause the system to:transmit toward the communication device a post-call set of multimediacontent to be displayed after termination of the voice connection. 21.The system of claim 20, wherein: the in-call set of multimedia contentcomprises an actuable control; and the post-call set of multimediacontent is selected for transmission to the communication device basedon actuation of the actuable control.
 22. The system of claim 13,wherein the memory further stores instructions that, when executed bythe one or more processors, cause the system to: query the communicationdevice to determine if the communication device stores content to bepresented to the called party; and if the communication device storescontent to be presented to the called party, retrieve the content anddisplaying the content to the agent.